var validate = {
	require: function(elem, errmsg) {
    	var $elem = elem;								// 加了$只是为了区分Js变量而已，可以用来表示这个变量是一个jquery对象，没其他含义
    	var value = $.trim($elem.val());
    	
		if (value == "") {
			$elem.next(".x-validate-msg").remove();
			$elem.after("<span class=\"x-validate-msg\">" + errmsg + "</span>");
			return false;
		} else {
			$elem.next(".x-validate-msg").remove();
			return true;
		}
	},
	
	phone: function(elem, errmsg) {
    	var $elem = elem;								// 加了$只是为了区分Js变量而已，可以用来表示这个变量是一个jquery对象，没其他含义
    	var value = $.trim($elem.val());
    	
		if (!/^(0|86|17951)?(13[0-9]|15[012356789]|18[0-9]|14[57]|17[0-9])[0-9]{8}$/.test(value)) {
			$elem.next(".x-validate-msg").remove();
			$elem.after("<span class=\"x-validate-msg\">" + errmsg + "</span>");
			return false;
		} else {
			$elem.next(".x-validate-msg").remove();
			return true;
		}
	},
	
	email: function(elem, errmsg) {
    	var $elem = elem;								// 加了$只是为了区分Js变量而已，可以用来表示这个变量是一个jquery对象，没其他含义
    	var value = $.trim($elem.val());

		if (!/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(value)) {
			$elem.next(".x-validate-msg").remove();
			$elem.after("<span class=\"x-validate-msg\">" + errmsg + "</span>");
			return false;
		} else {
			$elem.next(".x-validate-msg").remove();
			return true;
		}
	},
	
	compare: function(elem1, elem2, errmsg) {
    	var $elem1 = elem1;								// 加了$只是为了区分Js变量而已，可以用来表示这个变量是一个jquery对象，没其他含义
    	var $elem2 = elem2;
    	var value1 = $.trim($elem1.val());
    	var value2 = $.trim($elem2.val());
		
		if (value1 !== value2) {
			$elem.next(".x-validate-msg").remove();
			$elem.after("<span class=\"x-validate-msg\">" + errmsg + "</span>");
			return false;
		} else {
			$elem.next(".x-validate-msg").remove();
			return true;
		}
	}
};